tests = int(input())
for _ in range(tests):
a, b, c, d = map(int, input().split())
if b >= a:
print(b)
continue
if c <= d:
print(-1)
continue
print(b + (a - b + (c - d) - 1) // (c - d) * c)
#include <bits/stdc++.h>
using namespace std;
int main() {
long long t,a,b,c,d;
cin >> t;
while(t--){
cin >> a>>b>>c>>d;
if(b >= a){
cout << b <<endl;
}
else {
if(d >= c){
cout << -1 <<endl;
}
else {
long long value ;
if((a-b)%(c-d)==0){
value = (a-b)/(c-d);
}
else {
value = (a-b)/(c-d)+1;
}
cout << b + c*value<<endl;
}
}
}
}
584A - Olesya and Rodion | 799A - Carrot Cakes |
1569B - Chess Tournament | 1047B - Cover Points |
1381B - Unmerge | 1256A - Payment Without Change |
908B - New Year and Buggy Bot | 979A - Pizza Pizza Pizza |
731A - Night at the Museum | 742A - Arpa’s hard exam and Mehrdad’s naive cheat |
1492A - Three swimmers | 1360E - Polygon |
1517D - Explorer Space | 1230B - Ania and Minimizing |
1201A - Important Exam | 676A - Nicholas and Permutation |
431A - Black Square | 474B - Worms |
987B - High School Become Human | 1223A - CME |
1658B - Marin and Anti-coprime Permutation | 14B - Young Photographer |
143A - Help Vasilisa the Wise 2 | 320A - Magic Numbers |
1658A - Marin and Photoshoot | 514A - Chewbaсca and Number |
382A - Ksenia and Pan Scales | 734B - Anton and Digits |
1080A - Petya and Origami | 1642D - Repetitions Decoding |